<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 
<!DOCTYPE html >
<html lang="zh-CN">
  <head>
    
    <title>测试编辑</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<link  href="${pageContext.servletContext.contextPath}/css/jquery.snippet.min.css" rel="stylesheet">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	 <script type="text/javascript" src="${pageContext.servletContext.contextPath}/js/jtopo-min.js"></script>
	 <script type="text/javascript" src="${pageContext.servletContext.contextPath}/js/toolbar.js"></script>
     <script type="text/javascript" src="${pageContext.servletContext.contextPath}/js/jquery.js"></script>
  </head>
  <body>
	
	<div >
    <canvas id="canvas" width="1400" height="790" style="border: 1px solid rgb(68, 68, 68); cursor: default; background-color: rgb(238, 238, 238);">
     </canvas>   
   </div>
   <script type="text/javascript">
   			//获取到画布
  			var canvas = document.getElementById('canvas');			
			//获取到舞台
			var stage =  new JTopo.Stage(canvas);
            //场景
            var  scene =new JTopo.Scene();
            scene.background = './img/bg.jpg';
           stage.add(scene);
        
            //获取到后台节点数据
            var nodearray= '${nodearray}';
             if(nodearray!='null'&&nodearray!=''){
             var nodeObj= JSON.parse(nodearray);
             //添加节点
             for(var i=0;i<nodeObj.length;i++){
               var nodeArray=nodeObj[i];
               //获取到整型坐标长宽
                var ax=0;
                var ay=0;
                var aw=0;
                var ah=0;
                 ax=parseInt(nodeArray[0].x)    ;
                 ay=parseInt(nodeArray[0].y);
                 aw=parseInt(nodeArray[0].w);
                 ah=parseInt(nodeArray[0].h) ;
                 var nodeA=new JTopo.Node();
                 nodeA.setBound(ax,ay,aw,ah);
                 if(nodeArray[0].src!=""){
                  nodeA.setImage('./'+nodeArray[0].src);
                 }
                 nodeA.text=nodeArray[0].text;
                  nodeA.dragable =false;
                ax=parseInt(nodeArray[1].x)    ;
                 ay=parseInt(nodeArray[1].y);
                 aw=parseInt(nodeArray[1].w);
                 ah=parseInt(nodeArray[1].h) ;
                 var nodeZ=new JTopo.Node();
                 nodeZ.setBound(ax,ay,aw,ah);
                 if(nodeArray[1].src!=""){
                  nodeZ.setImage('./'+nodeArray[1].src);
                 }
                 nodeZ.text=nodeArray[1].text;
                 nodeZ.dragable =false;
                scene.add(nodeZ);
                scene.add(nodeA);
             var link=new JTopo.FoldLink(nodeA, nodeZ);
             scene.add(link);
             }}
             
             //添加所有标签
             var labels='${labels}';
             if(labels!=''&&labels!='null'){
             var labelObj=JSON.parse(labels);
             for(var i=0;i<labelObj.length;i++){
            var xc=parseInt(labelObj[i].x);
            var yc=parseInt(labelObj[i].y);
             // 不指定布局的时候，容器的布局为自动(容器边界随元素变化）
            var container = new JTopo.Container('');
            container.textPosition = 'Middle_Center';
            container.x=xc;
            container.y=yc;
            container.text=labelObj[i].text;
            container.width=150;
             container.height=40;
            container.fontColor = '255,255,255';
            container.font = '18pt 微软雅黑';
            container.fillColor = '238,238,238';
            container.borderRadius = 20; // 圆角
            console.dragble=false;
            scene.add(container);
             }
			 }            
             
            /*   var isx=0;//判断x是否与上次一样           
               var isy=0;//判断y是否与上次一样
               var lastNode=null;//用来存取上一次的对象
             var textArray=null;//文字集合
             var exitNodeArray=null;//新添加节点集合
             for(var i=0;i<test.length;i+=2){ */
            /**
                               避免重复添加节点增加性能
                                  新添加的节点的text都放在textArray里面  节点放在exitNodeArray里面  与textarray相对应
         	    每次添加节点都在textArray里面找有不有已存在的节点名称 如果有 就调用 exitNodeArray里面的节点
            */
          /*   debugger;
            if(isx==parseInt(test[i].x)&&isy==parseInt(test[i].y)&&parseInt(test[i].w)==0&&parseInt(test[i].h)==0){
                var nodeZ=new JTopo.Node();
	             var xz=parseInt(test[i+1].x);
	             var yz=parseInt(test[i+1].y);
	             var wz=parseInt(test[i+1].w);
	             var hz=parseInt(test[i+1].h);
                nodeZ.setBound(xz,yz,wz,hz);
                if(test[i+1].src!=""){
                  nodeZ.setImage('./img/'+test[i+1].src);
                }
                 scene.add(nodeZ);
                var link=new JTopo.FoldLink(lastNode, nodeZ);
                nodeZ.text=test[i+1].text;
                //nodeZ.dragable=false;
                scene.add(link); 
                lastNode=nodeZ;
                isx= xz;
                isy=yz;
            }else{
             var xa=parseInt(test[i].x);
             var ya=parseInt(test[i].y);
             var wa=parseInt(test[i].w);
             var ha=parseInt(test[i].h);
                var nodeA=new JTopo.Node();
                nodeA.setBound(xa,ya,wa,ha);
                nodeA.text=test[i].text;
                //nodeA.dragable=false;
               if(test[i].src!=""){
                  nodeA.setImage('./img/'+test[i].src);
                }
                scene.add(nodeA);
               var nodeZ=new JTopo.Node();
	             var xz=parseInt(test[i+1].x);
	             var yz=parseInt(test[i+1].y);
	             var wz=parseInt(test[i+1].w);
	             var hz=parseInt(test[i+1].h);
                nodeZ.setBound(xz,yz,wz,hz);
                if(test[i+1].src!=""){
                  nodeZ.setImage('./img/'+test[i+1].src);
                }
                 scene.add(nodeZ);
                var link=new JTopo.FoldLink(nodeA, nodeZ);
                nodeZ.text=test[i+1].text;
               // nodeZ.dragable=false;
                scene.add(link); 
                lastNode=nodeZ;
                isx= xz;
                isy=yz;
        	}
             };  */
            
   </script>
  </body>
</html>
